tools: Revert seabios and upstream qemu build changes
authorIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 14 Sep 2011 10:38:13 +0000 (11:38 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 14 Sep 2011 10:38:13 +0000 (11:38 +0100)
These have broken the build and it seems to be difficult to fix.  So
we will revert the whole lot for now, and await corrected patch(es).

Revert "fix the build when CONFIG_QEMU is specified by the user"
Revert "tools: fix permissions of git-checkout.sh"
Revert "scripts/git-checkout.sh: Is not bash specific. Invoke with /bin/sh."
Revert "Clone and build Seabios by default"
Revert "Clone and build upstream Qemu by default"
Revert "Rename ioemu-dir as qemu-xen-traditional-dir"
Revert "Move the ioemu-dir-find shell script to an external file"

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
.hgignore
Config.mk
Makefile
scripts/git-checkout.sh [deleted file]
tools/Makefile
tools/firmware/Makefile
tools/firmware/hvmloader/Makefile
tools/firmware/seabios-config [deleted file]

index 6464198d657e123b6455f71e62a89eb22656c295..cdb6f36f962df5d8f6e63de922bbb2e98f653417 100644 (file)
--- a/.hgignore
+++ b/.hgignore
 ^tools/xm-test/lib/XmTestLib/config.py$
 ^tools/xm-test/lib/XmTestReport/xmtest.py$
 ^tools/xm-test/tests/.*\.test$
-^tools/qemu-xen-traditional-dir-remote
-^tools/qemu-xen-traditional-dir$
-^tools/qemu-xen-dir-remote
-^tools/qemu-xen-dir$
-^tools/tools/firmware/seabios-dir-remote
-^tools/tools/firmware/seabios-dir$
+^tools/ioemu-remote
+^tools/ioemu-dir$
 ^tools/ocaml/.*/.*\.annot$
 ^tools/ocaml/.*/.*\.cmx?a$
 ^tools/ocaml/.*/META$
index 34ce9cf0c0126e48c30bbe46c44d359e20c394bb..6505697df1dd841837a7cc277f2324d2ca60c06c 100644 (file)
--- a/Config.mk
+++ b/Config.mk
@@ -192,12 +192,6 @@ else
 QEMU_REMOTE=git://xenbits.xensource.com/qemu-xen-unstable.git
 endif
 
-# Only available through the git protocol at the moment
-QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/people/sstabellini/qemu-dm.git
-QEMU_UPSTREAM_TAG ?= origin/xen-stable-0.15
-SEABIOS_UPSTREAM_URL=git://git.qemu.org/seabios.git
-SEABIOS_UPSTREAM_TAG ?= 7fc039e9c262b4199fab497f3e12f4e425c37560
-
 # Specify which qemu-dm to use. This may be `ioemu' to use the old
 # Mercurial in-tree version, or a local directory, or a git URL.
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
@@ -210,6 +204,15 @@ QEMU_TAG ?= cd776ee9408ff127f934a707c1a339ee600bc127
 # Short answer -- do not enable this unless you know what you are
 # doing and are prepared for some pain.
 
+# SeaBIOS integration is a work in progress. Before enabling this
+# option you must clone git://git.qemu.org/seabios.git/, possibly add
+# some development patches and then build it yourself before pointing
+# this variable to it (using an absolute path).
+#
+# Note that using SeaBIOS requires the use the upstream qemu as the
+# device model.
+SEABIOS_DIR ?= 
+
 # Optional components
 XENSTAT_XENTOP     ?= y
 VTPM_TOOLS         ?= n
index f977ef8f1d4de9afeb2cfde7aafc7fb427365613..31e87958f097ebfa5256f2146e00c4edd773451d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -70,7 +70,7 @@ install-tools:
        $(MAKE) -C tools install
 
 ifeq ($(CONFIG_IOEMU),y)
-install-tools: tools/qemu-xen-traditional-dir tools/qemu-xen-dir
+install-tools: tools/ioemu-dir
 endif
 
 .PHONY: install-kernels
@@ -78,21 +78,18 @@ install-kernels:
        for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
 
 .PHONY: install-stubdom
-install-stubdom: tools/qemu-xen-traditional-dir install-tools
+install-stubdom: tools/ioemu-dir install-tools
        $(MAKE) -C stubdom install
 ifeq (x86_64,$(XEN_TARGET_ARCH))
        XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
 endif
 
-tools/qemu-xen-traditional-dir:
-       $(MAKE) -C tools qemu-xen-traditional-dir-find
+tools/ioemu-dir:
+       $(MAKE) -C tools ioemu-dir-find
 
-.PHONY: tools/qemu-xen-traditional-dir-force-update
-tools/qemu-xen-traditional-dir-force-update:
-       $(MAKE) -C tools qemu-xen-traditional-dir-force-update
-
-tools/qemu-xen-dir:
-       $(MAKE) -C tools qemu-xen-dir-find
+.PHONY: tools/ioemu-dir-force-update
+tools/ioemu-dir-force-update:
+       $(MAKE) -C tools ioemu-dir-force-update
 
 .PHONY: install-docs
 install-docs:
diff --git a/scripts/git-checkout.sh b/scripts/git-checkout.sh
deleted file mode 100755 (executable)
index dd6c74e..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh
-
-TREE=$1
-TAG=$2
-DIR=$3
-
-
-if test -d $TREE; then
-       mkdir -p $DIR
-       ROOT=$TREE
-else
-       if test \! -d $DIR-remote; then
-               rm -rf $DIR-remote $DIR-remote.tmp;
-               mkdir $DIR-remote.tmp; rmdir $DIR-remote.tmp;
-               git clone $TREE $DIR-remote.tmp;
-               if test "$TAG" ; then
-                       cd $DIR-remote.tmp
-                       git branch -D dummy >/dev/null 2>&1 ||:
-                       git checkout -b dummy $TAG
-                       cd ..
-               fi
-               mv $DIR-remote.tmp $DIR-remote
-       fi
-       rm -f $DIR
-       ln -sf $DIR-remote $DIR
-       ROOT=.
-fi
-
-set -e
-cd $DIR
-# is this qemu-xen-traditional?
-if test -f $ROOT/xen-setup; then
-       QEMU_ROOT=$ROOT $ROOT/xen-setup $IOEMU_CONFIGURE_CROSS
-# is this qemu-xen?
-elif test -f $ROOT/configure; then
-       cd $ROOT
-       ./configure --enable-xen --target-list=i386-softmmu \
-               --extra-cflags="-I$XEN_ROOT/tools/include \
-               -I$XEN_ROOT/tools/libxc \
-               -I$XEN_ROOT/tools/xenstore" \
-               --extra-ldflags="-L$XEN_ROOT/tools/libxc \
-               -L$XEN_ROOT/tools/libxenstore" \
-               --bindir=/usr/lib/xen/bin \
-               --disable-kvm \
-               $IOEMU_CONFIGURE_CROSS
-fi
-
index ede96db9b0a7c2c5fc4bf8620bfcf21649341b12..df6270c35213964306c93d6e1963af581f60256e 100644 (file)
@@ -30,8 +30,7 @@ SUBDIRS-$(LIBXENAPI_BINDINGS) += libxen
 
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
+SUBDIRS-$(CONFIG_IOEMU) += ioemu-dir
 endif
 
 SUBDIRS-y += xenpmd
@@ -71,8 +70,7 @@ clean: subdirs-clean
 
 .PHONY: distclean
 distclean: subdirs-distclean
-       rm -rf qemu-xen-traditional-dir qemu-xen-traditional-dir-remote
-       rm -rf qemu-xen-dir qemu-xen-dir-remote
+       rm -rf ioemu-dir ioemu-remote
 
 ifneq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH))
 IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
@@ -80,35 +78,51 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TARGET_ARCH) \
                         --interp-prefix=$(CROSS_SYS_ROOT)
 endif
 
-qemu-xen-traditional-dir-find:
-       $(XEN_ROOT)/scripts/git-checkout.sh $(CONFIG_QEMU) $(QEMU_TAG) qemu-xen-traditional-dir
-       
-qemu-xen-dir-find:
-       $(XEN_ROOT)/scripts/git-checkout.sh $(QEMU_UPSTREAM_URL) $(QEMU_UPSTREAM_TAG) qemu-xen-dir
-       
-.PHONY: qemu-xen-traditional-dir-force-update
-qemu-xen-traditional-dir-force-update:
+QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
+ifneq ($(QEMU_ROOT),.)
+export QEMU_ROOT
+endif
+
+ioemu-dir-find:
+       set -ex; \
+       if test -d $(CONFIG_QEMU); then \
+               mkdir -p ioemu-dir; \
+       else \
+               if [ ! -d ioemu-remote ]; then \
+                       rm -rf ioemu-remote ioemu-remote.tmp; \
+                       mkdir ioemu-remote.tmp; rmdir ioemu-remote.tmp; \
+                       $(GIT) clone $(CONFIG_QEMU) ioemu-remote.tmp; \
+                       if [ "$(QEMU_TAG)" ]; then                      \
+                               cd ioemu-remote.tmp;                    \
+                               $(GIT) branch -D dummy >/dev/null 2>&1 ||:; \
+                               $(GIT) checkout -b dummy $(QEMU_TAG);   \
+                               cd ..;                                  \
+                       fi;                                             \
+                       mv ioemu-remote.tmp ioemu-remote; \
+               fi; \
+               rm -f ioemu-dir; \
+               ln -sf ioemu-remote ioemu-dir; \
+       fi
+       set -e; \
+               $(buildmakevars2shellvars); \
+               cd ioemu-dir; \
+               $(QEMU_ROOT)/xen-setup $(IOEMU_CONFIGURE_CROSS)
+
+.PHONY: ioemu-dir-force-update
+ioemu-dir-force-update:
        set -ex; \
        if [ "$(QEMU_TAG)" ]; then \
-               cd qemu-xen-traditional-dir-remote; \
+               cd ioemu-remote; \
                $(GIT) fetch origin; \
                $(GIT) reset --hard $(QEMU_TAG); \
        fi
 
-subdir-all-qemu-xen-traditional-dir subdir-install-qemu-xen-traditional-dir: qemu-xen-traditional-dir-find
-
-subdir-clean-qemu-xen-traditional-dir:
-       set -e; if test -d qemu-xen-traditional-dir/.; then \
-               $(buildmakevars2shellvars); \
-               $(MAKE) -C qemu-xen-traditional-dir clean; \
-       fi
-
-subdir-all-qemu-xen-dir subdir-install-qemu-xen-dir: qemu-xen-dir-find
+subdir-all-ioemu-dir subdir-install-ioemu-dir: ioemu-dir-find
 
-subdir-clean-qemu-xen-dir:
-       set -e; if test -d qemu-xen-dir/.; then \
+subdir-clean-ioemu-dir:
+       set -e; if test -d ioemu-dir/.; then \
                $(buildmakevars2shellvars); \
-               $(MAKE) -C qemu-xen-dir clean; \
+               $(MAKE) -C ioemu-dir clean; \
        fi
 
 subdir-clean-debugger/gdbsx subdir-distclean-debugger/gdbsx: .phony
index 1e8a4db03a18a8ba67b46fa25dfdfe56f67dbd04..4b6d1441340e2ae13fcf3b4113cc7614bcb5974c 100644 (file)
@@ -6,18 +6,13 @@ TARGET      := hvmloader/hvmloader
 INST_DIR := $(DESTDIR)$(XENFIRMWAREDIR)
 
 SUBDIRS :=
-SUBDIRS += seabios-dir
 SUBDIRS += rombios
 SUBDIRS += vgabios
 SUBDIRS += etherboot
 SUBDIRS += hvmloader
 
-seabios-dir:
-       $(XEN_ROOT)/scripts/git-checkout.sh $(SEABIOS_UPSTREAM_URL) $(SEABIOS_UPSTREAM_TAG) seabios-dir
-       cp seabios-config seabios-dir/.config;
-
 .PHONY: all
-all: seabios-dir
+all:
        @set -e; if [ $$((`( bcc -v 2>&1 | grep version || echo 0.0.0 ) | cut -d' ' -f 3 | awk -F. '{ printf "0x%02x%02x%02x", $$1, $$2, $$3}'`)) -lt $$((0x00100e)) ] ; then \
        echo "==========================================================================="; \
        echo "Require dev86 rpm or bin86 & bcc debs version >= 0.16.14 to build firmware!"; \
@@ -40,7 +35,4 @@ clean: subdirs-clean
 distclean: subdirs-distclean
 
 subdir-distclean-etherboot: .phony
-       $(MAKE) -C etherboot distclean
-
-subdir-distclean-seabios-dir: .phony
-       rm -rf seabios-dir seabios-dir-remote
+       $(MAKE) -C etherboot distclean
\ No newline at end of file
index ae8a1e281f6c1cf3afe4eb7817ebc34b3fa3d4d4..11e8f1c31667fa7ba2b94902cc98f20502d9e506 100644 (file)
@@ -44,7 +44,6 @@ CFLAGS += -DENABLE_ROMBIOS
 ROMBIOS_ROM := $(ROMBIOS_DIR)/BIOS-bochs-latest
 endif
 
-SEABIOS_DIR := ../seabios-dir
 ifneq ($(SEABIOS_DIR),)
 OBJS += seabios.o
 CFLAGS += -DENABLE_SEABIOS
diff --git a/tools/firmware/seabios-config b/tools/firmware/seabios-config
deleted file mode 100644 (file)
index 202d15f..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# SeaBIOS Configuration
-# Wed Sep  7 13:03:21 2011
-#
-
-#
-# General Features
-#
-# CONFIG_COREBOOT is not set
-CONFIG_XEN=y
-CONFIG_THREADS=y
-# CONFIG_THREAD_OPTIONROMS is not set
-CONFIG_RELOCATE_INIT=y
-CONFIG_BOOTMENU=y
-# CONFIG_BOOTSPLASH is not set
-CONFIG_BOOTORDER=y
-
-#
-# Hardware support
-#
-CONFIG_ATA=y
-CONFIG_ATA_DMA=y
-CONFIG_ATA_PIO32=y
-CONFIG_AHCI=y
-CONFIG_VIRTIO_BLK=y
-CONFIG_FLOPPY=y
-CONFIG_PS2PORT=y
-CONFIG_USB=y
-CONFIG_USB_UHCI=y
-CONFIG_USB_OHCI=y
-CONFIG_USB_EHCI=y
-CONFIG_USB_MSC=y
-CONFIG_USB_HUB=y
-CONFIG_USB_KEYBOARD=y
-CONFIG_USB_MOUSE=y
-CONFIG_SERIAL=y
-CONFIG_LPT=y
-# CONFIG_USE_SMM is not set
-CONFIG_MTRR_INIT=y
-
-#
-# BIOS interfaces
-#
-CONFIG_DRIVES=y
-CONFIG_CDROM_BOOT=y
-CONFIG_CDROM_EMU=y
-CONFIG_PCIBIOS=y
-CONFIG_APMBIOS=y
-CONFIG_PNPBIOS=y
-CONFIG_OPTIONROMS=y
-# CONFIG_OPTIONROMS_DEPLOYED is not set
-CONFIG_PMM=y
-CONFIG_BOOT=y
-CONFIG_KEYBOARD=y
-CONFIG_KBD_CALL_INT15_4F=y
-CONFIG_MOUSE=y
-CONFIG_S3_RESUME=y
-# CONFIG_DISABLE_A20 is not set
-
-#
-# BIOS Tables
-#
-CONFIG_PIRTABLE=y
-CONFIG_MPTABLE=y
-CONFIG_SMBIOS=y
-CONFIG_ACPI=y
-
-#
-# Debugging
-#
-CONFIG_DEBUG_LEVEL=1
-# CONFIG_DEBUG_SERIAL is not set